﻿#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>

//1.全局变量检测增强；能通过！
int cA;
int cA = 10;

//2.函数的检测增强；能通过！
int getRectS(w, h)
{
}
void testEnhance()
{
	getRectS(10, 10, 10);
}
//3.类型转换检测增强；
void testTransform()
{
	//4.malloc返回的是void*；
	char* p = malloc(sizeof(64));
}
//5.struct增强；
struct PersonEnhance
{
	int m_Age;
	//6.C语言中struct不可以加函数；
	//void plusAge();
};
void testPersonEnhance()
{
	//7.C语言中，使用的时候，必须要加入struct关键字；
	struct PersonEnhance p1;
}
//8.bool类型增强，C语言中没有bool类型；
//bool flag;

//9.三目运算符增强；
void testTernaryOperator()
{
	int a = 10;
	int b = 20;
	printf("10.ret = %d\n", a > b ? a : b);//10.ret = 20

	//11.C语言中返回的是值；
	//a > b ? a : b = 100; //20=100

	//12.C语言中想模仿C++写法；
	*(a > b ? &a : &b) = 100;
	printf("13.a = %d, b = %d\n", a, b);//13.a = 10, b = 100;
}

//14.const增强；修饰全局变量，则全局变量受到保护，不能修改变量的值；
const int m_A = 10;
void testConstEnhance()
{
	//m_A = 100;
	//16.伪常量；
	const int m_B = 20;
	//m_B = 200;

	int* p = &m_B;
	*p = 200;
	printf("15.*p = %d, m_B = %d\n", *p, m_B);//15.*p = 200, m_B = 200

	//17.不可以初始化数组；
	//int arr[m_B];
}

//main237：c++对c语言的增强c语言
int main237()
{
	testTernaryOperator();
	testConstEnhance();

	system("pause");
	return EXIT_SUCCESS;
}